适用于版本0.10.1。
1 指南
配置
全局配置
使用$FLINK_HOME/conf/flink-conf.yaml配置,详见Global Configuration
作业配置
数据写入
Flink支持多种模式写入数据,如CDC Ingestion, Bulk Insert, Index Bootstrap, Changelog Mode,Append Mode
优化
2 部署
使用Flink Sql Client测试
(1) 下载flink-bunlde.jar
当前hudi版本适配flink-1.13.x和scala2.11
(2) 启动flink集群
启动带有Hadoop环境的独立Flink集群。
建议配置如下:
$FLINK_HOME/conf/flink-conf.yaml
- 增加配置taskmanager.numberOfTaskSlots: 4
- 根据需要增加其他全局配置,详见Flink配置
$FLINK_HOME/conf/workers
增加4行locahost,以配置4个本地worker
启动集群:
1 | # HADOOP_HOME is your hadoop root directory after unpack the binary package. |
(3) 启动flink sql客户端
Flink-bundle.jar可以从hudi-source-dir/packaging/hudi-flink-bundle编译,或从Apache Official Repository下载。
启动CLI
1 | # HADOOP_HOME is your hadoop root directory after unpack the binary package. |
注意:
- 建议使用hadoop2.9+版本,因为某些对象存储实现在之后版本
- bundle中已集成了link-parquet和flink-avro
- CLI只能按行执行SQL
3 数据插入
需要先创建表,再插入数据
1 | -- sets up the result mode to tableau to show the results directly in the CLI |
4 数据查询
快照查询
1 | -- query from the Hudi table |
5 数据更新
同数据插入
1 | -- this would update the record with key 'id1' |
6 流式查询
查询从某一时间read.streaming.start-commit开始提交的数据。
1 | CREATE TABLE t1( |
7 数据删除
流式查询过程中依旧可以应用数据变化。